1. Field of the Invention
The present invention generally relates to data readout methods and devices, for example, magnetic disk drives, magneto-optical disk drives or other optical disk drives, and magnetic tape drives. More specifically, the present invention relates to a data readout scheme for reading out data from a data-recording medium by using an iterative decoding method, wherein the data-recording medium contains data recorded by a turbo-coding method.
2. Description of the Related Art
Turbo-coding methods have large encoding gains and are known in the telecommunication field. A typical turbo coding system can encode a data bit string “u” by using two encoders that perform recursive systematic convolutional coding. Such a turbo coding system is shown in FIG. 1. Another but still typical turbo coding system is shown in FIG. 2.
The turbo coding system shown in FIG. 1 is made up of a first encoder 11, an interleaver “π1” 12, a second encoder 13 and a multiplexer 14. The data bit string “u” is supplied to the first encoder 11. The data bit string “u” is also supplied to the second encoder 13 via the interleaver “π1” 12.
The first encoder 11 and the second encoder 13 are the aforementioned two encoders that perform recursive systematic convolutional coding. The first encoder 11 generates a parity bit string “p1” based on the data bit string “u” input into the first encoder 11. The data bit string “u” is also input into the interleaver “π1” 12, which outputs a series of signals that is obtained by transforming the bit sequence of the data bit string “u”. The second encoder 13 generates a parity bit string “p2” based on the series of signals from the interleaver “π1” 12.
The multiplexer (MUX/puncture) 14 generates a coded data bit string “yk” by combining the data bit string “u”, the parity bit string “p1” output from the first encoder 11 and the parity bit string “p2” output from the second encoder 13, in accordance with a predetermined rule. When combining the data bit string “u”, the parity bit string “p1” and the parity bit string “p2”, the multiplexer 14 performs a puncturing function wherein the bits are thinned out (by omitting some of the bits) in accordance with a predetermined rule to increase the coding ratio. The coded data bit string “yk” generated in the above-mentioned manner is output from the aforementioned turbo coding system. In telecommunication systems, such coded data bit strings (“yk”) are modulated in accordance with predetermined rules and are sent out from transmitters.
On the other hand, the turbo coding system shown in FIG. 2 is made up of two recursive systematic convolutional encoders (i.e., a first encoder 11 and a second encoder 13) connected in series. In this conventional example, a data bit string “u” is subjected to an encoding process at the first encoder 11 and a series of signals obtained by the encoding process is output to an interleaver “π1” 12. The interleaver “π1” 12 transforms the bit sequence of this series of signals and outputs a series of signals to the second encoder 13. The second encoder 13 performs an encoding process on the series of signals output from the interleaver “π1” 12. A series of signals obtained by this encoding process is output as a coded data bit string “yk”.
When a signal sent out from the aforementioned transmitter is received at a receiver, the received signal is demodulated at the receiver so as to obtain series of value-signals “U”, “Y1” and “Y2” respectively corresponding to the data bit string “u”, the first parity bit string “p1” and the second parity bit string “p2” that are contained in the coded data bit string “yk”. These series of value-signalss “U”, “Y1” and “Y2” are input into a decoding system that matches the aforementioned turbo coding system.
In this decoding system, soft-output decoding processes are performed at two decoders that correspond to the aforementioned two encoders, wherein soft-out data (more specifically, likelihood data) with respect to each data bit obtained from one decoder are supplied to the other decoder as ex-ante data. This series of operations is performed repeatedly. FIG. 3 illustrates a block diagram of a decoding system for processing the demodulated series of signals “U”, series of signals “Y1” and series of signals “Y2” corresponding to the respective bit strings “u”, “p1” and “p2” that are contained in the data bit string “yk” output from the turbo coding system shown in FIG. 1.
As shown in FIG. 3, the decoding system is made up of a first SISO (Soft-In Soft-Out) decoder 21, an interleaver “π1” 22, another interleaver “π1” 23, a de-interleaver “π1−1” 25, a second SISO decoder 24 and a hard-decision section 26. The first SISO decoder 21 corresponds to the aforementioned first encoder 11. The second SISO decoder 24 corresponds to the aforementioned second encoder 13.
The aforementioned received series of value-signals “U” and “Y1” are input to the first SISO decoder 21. In addition, the ex-ante data “L(u)” from the second SISO decoder 24 are input to the first SISO decoder 21. The first SISO decoder 21 performs a MAP (Maximum A-posteriori Probability) decoding process for estimating a posteriori probabilities on respective bits. The a posteriori probabilities show the probabilities of whether the respective bits “uk” are “0” or “1” under the condition that the series of value-signals “Y” (y0, y1, . . . , yk, . . . , yn) is detected. In the MAP decoding process, a log-likelihood ratio “L(u*)”, i.e., the log ratio of the a posteriori probability “P(uk|Y)” is calculated according to the following formula:L(u*)=L(uk|Y)=ln{P(uk=1|Y)/P(uk=0|Y)}  (1)
The series of value-signals “Y” stands for the received series of value-signals “U” and “Y1” in the above formula “(1)”.
The probability “P(uk=1|Y)” that the aforementioned bit “uk” is equal to “1” and the probability “P(uk=0|Y)” that the aforementioned bit “uk” is equal to “0” are calculated based on a trellis diagram that shows the state transition obtained from the series of value-signals “U” and “Y1”.
On the other hand, the aforementioned log-likelihood ratio L(u*) is also expressed in the following formula:L(u*)=Lc×yk+L(uk)+Le(uk)  (2);wherein “Lc×yk” indicates a communication channel value (more specifically, “Lc” is a constant that depends on S/N (i.e., communication channel value constant) and “yk” stands for the received series of signals “y0, y1, . . . , yn”); “L(uk)” stands for the ex-ante data which are used as the known occurrence probabilities with respect to “uk=1” and “uk=0”; and “Le(uk)” stands for external likelihood data about the bit “uk” that are obtained from constraints of codes.
The first SISO decoder 21 calculates the external likelihood data “Le(uk)” based on the above formula “(2)”, i.e., more specifically, based on the following formula:Le(uk)=L(u*)−Lc×yk−L(uk)  (3)
The external likelihood data “Le(uk)” are obtained by substituting the aforementioned log likelihood ratio “L(u*)” calculated as stated above (in accordance with formula “(1)”) into formula “(3)”. A series of the external likelihood data “Le(uk)” thus obtained one after another is rendered to become a series of the ex-ante data “L(uk)” by way of the interleaver “π1” 23, which is then supplied to the second SISO decoder 24. In addition to the series of the ex-ante data “L(uk)”, the series of value-signals “U” input into the decoding system is supplied to the second SISO decoder 24 via the interleaver “π1” 22. Further, the series of value-signals “Y2” is supplied to the second SISO decoder 24.
The second SISO decoder 24 calculates a new log-likelihood ratio “L(u*)” by taking the input ex-ante data “L(uk)” into consideration in accordance with the formula “(1)”. The second SISO decoder 24 calculates external likelihood data “Le(uk)” in accordance with the formula “(3)” by using the resulting new log-likelihood ratio “L(u*)” and the ex-ante data “L(uk)” supplied from the first SISO decoder 21.
The external likelihood data “Le(uk)” generated at the second SISO decoder 24 are sent into the de-interleaver “π1−1” 25 which outputs data as new ex-ante data “L(uk)” to the first SISO decoder 21. Then, the first SISO decoder 21 takes the ex-ante data “L(uk)” into consideration and calculates log likelihood ratios “L(u*)” and external likelihood data “Le(uk)” in accordance with the abovementioned procedure. The external likelihood data “Le(uk)” are used to generate exante data “L(uk)” for the second SISO decoder 24 via the interleaver 23.
As stated above, each one of the first SISO decoder 21 and the second SISO decoder 24 repeats the process of calculating the log likelihood ratios “L(u*)” by using the external likelihood data “Le(uk)” calculated in the other decoder as the ex-ante data “L(uk)”. In short, they perform iterative decoding. It should be noted that the initial value of ex-ante data “L(uk)” (i.e., that which is used in the first-time process) of the first SISO decoder 21 is zero (“L(uk)=0”).
The hard-decision section 26 performs a hard-decision based on the log likelihood ratio “L(u*)” generated at the second SISO decoder 24 when a predetermined number of repetitions of the abovementioned decoding process is finished. In this hard decision, the hard-decision section 26 decides whether the bit “uk” is “0” or “1”. For example, when the log likelihood ratio “L(u*)” is positive (i.e. L(u*)>0), the hard-decision section 26 decides that the bit “uk” is “1” (i.e. uk=1). When the log likelihood ratio “L(u*)” is less than zero (i.e. L(u*)<0), the hard-decision section 26 decides that the bit “uk” is “0” (i.e. uk=0). Thereafter, the decided result is output as a decoded result “Uk”.
During the repetition of the above decoding process (i.e., while the iterative decoding is performed), the probability of the bit “uk” taking the correct original value (i.e., one of “1” and “0”) increases gradually, and the probability of the bit “uk” taking the other value decreases gradually, thereby increasing the difference between the probability that the bit “uk” is “1” and the probability that the bit “uk” is “0”. Thus, the reliability of the decisions of the hard-decision section 26 is increased.
The turbo coding method and the corresponding decoding method applicable for telecommunication systems as stated above have been reviewed with a view of applying them to data writing/reading units such as magnetic disk drives or optical disk drives. For example, a magnetic disk drive employing a turbo coding method and a corresponding decoding method was proposed in “W. E. Ryan, ‘Performance of High Rate Turbo Codes on a PR4-Equalized Magnetic Recording Channel’, Proc. IEEE Int. Conf. On Communications, pp. 947-951, 1998”.
In this type of data writing/reading unit, the above turbo coding method is employed in its recording system (writing system) that writes data into a recording medium, and the above iterative decoding method is employed in its data-readout system (reading system) that reads out data from the recording medium. These methods makes it possible for the data writing/reading unit to reduce errors when the unit reads out data stored at high density in recording media (for example, magnetic disks, optical disks (including magneto-optical disks) and magnetic tapes).
FIG. 4 shows an illustrative frequency distribution curve of log-likelihood ratios “L(u*)” (i.e., a histogram in the form of a diagram indicating the log-likelihood ratio “L(u*)” plotted as the abscissa and the frequency plotted as the ordinate) that are obtained by the decoding processes that decode random data, with a data readout unit that uses an iterative decoding method to decode data like the unit as stated above, when the SNR (Signal to Noise Ratio) is good and/or when the decoding process is repeated a sufficiently large number of times. In this case, the distribution of the log-likelihood ratios “L(u*)” takes the shape having concentrated areas that are generally separated to both sides of the vertical dotted line that intersects the origin 0, wherein falling within the “+” side means that the probability of “uk” being “1” is larger than the probability of “uk” being “0”. To be within the “−” side means that the probability of “uk=0” is larger than the probability of “uk=1”. Therefore, it is possible to decode data correctly, by applying the aforementioned hard-decision method on the log likelihood ratios “L(u*)”, employing the value 0 as the slice level “L0”.
On the other hand, in bad conditions, i.e., when the SNR is poor, or when the number of repetitions of the decoding process in the iterative decoding method is not sufficiently large with relatively good SNR, the distribution of the log likelihood ratios “L(u*)” obtained by the decoding processes that decode the above random data is represented by a curve as shown in FIG. 5. This curve shows some frequency for any log likelihood ratio “L(u*)” between the two specific log likelihood ratios “L(u*)” that present the two local-maximum frequencies, therefore, this curve is considered to show no clear separation to the “+” side and the “−” side. When log likelihood ratios “L(u*)” that take place in accordance with this type of distribution curve are subjected to hard-decisions employing the value 0 as the slice level “L0”, decisions on log likelihood ratios “L(u*)” whose values are in the neighborhood of 0 are not necessarily correct. Thus, possibly, some data may be incorrectly decoded.
Starting from these conditions, and thereafter increasing the number of repetitions of the decoding process, it is possible to change the distribution curve of the log likelihood ratios “L(u*)” in such a manner as to be separated to the “+” side and the “−” side as shown in FIG. 4.
However, such increase in the number of repetitions of the decoding process brings about an increase of time required for the data decoding processes, and, thus, the data transfer rate is reduced.